package com.jt.auth.config;

import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer;
import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter;
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;
import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer;
import org.springframework.security.oauth2.config.xml.AuthorizationServerBeanDefinitionParser;


import org.springframework.security.oauth2.config.xml.AuthorizationServerBeanDefinitionParser;

/**
 * Oauth2是一种协议规范，定义了用户身份认证和授权
 * 例如：基于用户名密码认真，基于第三方令牌认证，例如qq微信
 * 有以下几个部分
 * 1）你要保护的资源（数据）
 * 2）资源管理服务器（资源对应的服务器）
 * 3）认证管理服务器（负责队用户身份进行认证
 * 4）认证客户端对象（例如html表单，三方令牌）
 * 5）需要认证的用户
 *
 * 如何认证
 * 1）提供认证地址
 * 2）用户需要携带的信息
 * 3）负责为用户完成认证的对象*/
@EnableAuthorizationServer
public class Oauth2Config extends AuthorizationServerConfigurerAdapter {
    /**
     * 用户需要带什么信息
     * */
    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {

    }
    /**
     * 用户需要携带的资料到此指定的地址*/
    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {

    }
    /**
     * 定义完整的认真对象，认证成功以后会颁发令牌*/
    @Override
    public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {

    }
}
